]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
lookingGlass: Handle unprintable object
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 12 Jul 2023 22:25:43 +0000 (00:25 +0200)
committerMarge Bot <marge-bot@gnome.org>
Fri, 14 Jul 2023 12:36:53 +0000 (12:36 +0000)
We currently throw an error when encountering a result that cannot
be represented as string, with the prompt appearing somewhat stuck
(the input cannot be committed).

Showing a lame fallback instead at least avoids that issue. When
the object has a typeof 'object' but is not an instanceof Object,
we are likely dealing with an ES module, and can show a slightly
less lame fallback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2842>

js/ui/lookingGlass.js

index 6063b17400ae7304d99592f2c92821564ffd5d39..05006d837778447ea4f75e04f022f388c16d7838 100644 (file)
@@ -268,6 +268,11 @@ function objectToString(o) {
     if (typeof o == typeof objectToString) {
         // special case this since the default is way, way too verbose
         return '<js function>';
+    } else if (o && o.toString === undefined) {
+        // eeks, something unprintable. we'll have to guess, probably a module
+        return typeof o === 'object' && !(o instanceof Object)
+            ? '<module>'
+            : '<unknown>';
     } else {
         return `${o}`;
     }